geometric reasoning